const { generateSerialNumbers } = require("./tools")
const moment = require("moment")
exports.typeOutput = (agency_type, start_sn, end_sn, data) => {
    const regexs = {
        //用于映射不同机器对应的sn编码规则
        'YSS': /^000006026293\d{6}$/,
    }
    const prefix = {
        'YSS': /^000006026293(?=\d{6}$)/
    }
    if (regexs[agency_type].test(start_sn) && regexs[agency_type].test(end_sn)) {
        const companyCharacteristic = start_sn.match(prefix[agency_type])[0] //提取不同机型的公司特征码，用于拼接sn前面
        const insertData = generateSerialNumbers(start_sn, end_sn, data, companyCharacteristic);
        return insertData
    }
    return []

}
exports.excalOutput = (agency_type, data = [], modelObj) => {
    const regexs = {
        //用于映射不同机器对应的sn编码规则
        'YSS': /^000006026293\d{6}$/,
    }
    const errorData = [];
    data.forEach(item => {
        if (!regexs[agency_type].test(item.SN)) {
            errorData.push({
                SN: item.SN
            })
        }
    })
    if (errorData.length) {
        return {
            isError: true,
            errorData: errorData,
        }
    } else {
        const insertData = data.map((item, index) => {
            return {
                SN: item.SN,
                model: modelObj.modelId,
                agency_id: modelObj.agency_id,
                store_time: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
                payee_name: "-",//公众号登录后 得到 绑定商户名
                bind_time: '', //公众号登录后 得到绑定时间
                is_active: '2',//公众号上开了998 激活状态变为已激活--
                is_participate: "2",//公众号上开了998之后 就参与了活动 2 未参与。1 参与
                active_time: "", //机器刷够 标准数额，变为已经激活，支付公司推
                bind_status: "2" // 公众号客户登录之后 就是绑定
            }
        })
        return {
            isError: false,
            insertData: insertData,
        }
    }
}
// const insertData = generateSerialNumbers(start_sn, end_sn, modeName, agency_name)
// const machineObj = {
//     SN: '111',
//     model: modeName,
//     agency_name: agency_name,
//     store_time: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
//     payee_name: "-",//公众号登录后 得到 绑定商户名
//     bind_time: '', //公众号登录后 得到绑定时间
//     is_active: '0',//公众号上开了998 激活状态变为已激活--
//     is_participate: "0",//公众号上开了998之后 就参与了活动 0 未参与。1 参与
//     active_time: "", //机器刷够 标准数额，变为已经激活，支付公司推
//     bind_status: "0" // 公众号客户登录之后 就是绑定
// }